The present invention pertains in general to neural network based control systems and, more particularly, to on-line optimization thereof.
Process models that are utilized for prediction, control and optimization can be divided into two general categories, steady-state models and dynamic models. In each case the model is a mathematical construct that characterizes the process, and process measurements are utilized to parameterize or fit the model so that it replicates the behavior of the process. The mathematical model can then be implemented in a simulator for prediction or inverted by an optimization algorithm for control or optimization.
Steady-state or static models are utilized in modem process control systems that usually store a great deal of data, this data typically containing steady-state information at many different operating conditions. The steady-state information is utilized to train a non-linear model wherein the process input variables are represented by the vector U that is processed through the model to output the dependent variable Y. The non-linear model is a steady-state phenomenological or empirical model developed utilizing several ordered pairs (Ui,Yi) of data from different measured steady states. If a model is represented as:
Y=P(U,Y)xe2x80x83xe2x80x83(1)
where P is some parameterization, then the steady-state modeling procedure can be presented as:
({right arrow over (U)},{right arrow over (Y)})xe2x86x92Pxe2x80x83xe2x80x83(2)
where U and Y are vectors containing the Ui, Yi ordered pair elements. Given the model P, then the steady-state process gain can be calculated as:                     K        =                              Δ            ⁢                          xe2x80x83                        ⁢                          P              ⁡                              (                                  U                  ,                  Y                                )                                                          Δ            ⁢                          xe2x80x83                        ⁢            U                                              (        3        )            
The steady-state model therefore represents the process measurements that are taken when the system is in a xe2x80x9cstaticxe2x80x9d mode. These measurements do not account for the perturbations that exist when changing from one steady-state condition to another steady-state condition. This is referred to as the dynamic part of a model.
A dynamic model is typically a linear model and is obtained from process measurements which are not steady-state measurements; rather, these are the data obtained when the process is moved from one steady-state condition to another steady-state condition. This procedure is where a process input or manipulated variable u(t) is input to a process with a process output or controlled variable y(t) being output and measured. Again, ordered pairs of measured data (u(I), y(I)) can be utilized to parameterize a phenomenological or empirical model, this time the data coming from non-steady-state operation. The dynamic model is represented as:
y(t)=p(u(t),y(t))xe2x80x83xe2x80x83(4)
where p is some parameterization. Then the dynamic modeling procedure can be represented as:
({right arrow over (u)},{right arrow over (y)})xe2x86x92pxe2x80x83xe2x80x83(5)
Where u and y are vectors containing the (u(I),y(I)) ordered pair elements. Given the model p, then the steady-state gain of a dynamic model can be calculated as:                     k        =                              Δ            ⁢                          xe2x80x83                        ⁢                          p              ⁡                              (                                  u                  ,                  y                                )                                                          Δ            ⁢                          xe2x80x83                        ⁢            u                                              (        6        )            
Unfortunately, almost always the dynamic gain k does not equal the steady-state gain K, since the steady-state gain is modeled on a much larger set of data, whereas the dynamic gain is defined around a set of operating conditions wherein an existing set of operating conditions are mildly perturbed. This results in a shortage of sufficient non-linear information in the dynamic data set in which non-linear information is contained within the static model. Therefore, the gain of the system may not be adequately modeled for an existing set of steady-state operating conditions. Thus, when considering two independent models, one for the steady-state model and one for the dynamic model, there is a mis-match between the gains of the two models when used for prediction, control and optimization. The reason for this mis-match are that the steady-state model is non-linear and the dynamic model is linear, such that the gain of the steady-state model changes depending on the process operating point, with the gain of the linear model being fixed. Also, the data utilized to parameterize the dynamic model do not represent the complete operating range of the process, i.e., the dynamic data is only valid in a narrow region. Further, the dynamic model represents the acceleration properties of the process (like inertia) whereas the steady-state model represents the tradeoffs that determine the process final resting value (similar to the tradeoff between gravity and drag that determines terminal velocity in free fall).
One technique for combining non-linear static models and linear dynamic models is referred to as the Hammerstein model. The Hammerstein model is basically an input-output representation that is decomposed into two coupled parts. This utilizes a set of intermediate variables that are determined by the static models which are then utilized to construct the dynamic model. These two models are not independent and are relatively complex to create.
Plants have been modeled utilizing the various non-linear networks. One type of network that has been utilized in the past is a neural network. These neural networks typically comprise a plurality of inputs which are mapped through a stored representation of the plant to yield on the output thereof predicted outputs. These predicted outputs can be any output of the plant. The stored representation within the plant is typically determined through a training operation.
During the training of a neural network, the neural network is presented with a set of training data. This training data typically comprises historical data taken from a plant. This historical data is comprised of actual input data and actual output data, which output data is referred to as the target data. During training, the actual input data is presented to the network with the target data also presented to the network, and then the network trained to reduce the error between the predicted output from the network and the actual target data. One very widely utilized technique for training a neural network is a backpropagation training algorithm. However, there are other types of algorithms that can be utilized to set the xe2x80x9cweightsxe2x80x9d in the network.
When a large amount of steady-state data is available to a network, the stored representation can be accurately modeled. However, some plants have a large amount of dynamic information associated therewith. This dynamic information reflects the fact that the inputs to the plant undergo a change which results in a corresponding change in the output. If a user desired to predict the final steady-state value of the plant, plant dynamics may not be important and this data could be ignored. However, there are situations wherein the dynamics of the plant are important during the prediction. It may be desirable to predict the path that an output will take from a beginning point to an end point. For example, if the input were to change in a step function from one value to another, a steady-state model that was accurately trained would predict the final steady-state value with some accuracy. However, the path between the starting point and the end point would not be predicted, as this would be subject to the dynamics of the plant. Further, in some control applications, it may be desirable to actually control the plant such that the plant dynamics were xe2x80x9cconstrained,xe2x80x9d this requiring some knowledge of the dynamic operation of the plant.
In some applications, the actual historical data that is available as the training set has associated therewith a considerable amount of dynamic information. If the training data set had a large amount of steady-state information, an accurate model could easily be obtained for a steady-state model. However, if the historical data had a large amount of dynamic information associated therewith, i.e., the plant were not allowed to come to rest for a given data point, then there would be an error associated with the training operation that would be a result of this dynamic component in the training data. This is typically the case for small data sets. This dynamic component must therefore be dealt with for small training data sets when attempting to train a steady-state model.
When utilizing a model for the purpose of optimization, it is necessary to train a model on one set of input values to predict another set of input values at future time. This will typically require a steady-state modeling technique. In optimization, especially when used in conjunction with a control system, the optimization process will take a desired set of set points and optimizes those set points. However, these models are typically selected for accurate gain. a problem arises whenever the actual plant changes due to external influences, such as outside temperature, build up of slag, etc. Of course, one could regenerate the model with new parameters. However, the typical method is to actually measure the output of the plant, compare it with a predicted value to generate a xe2x80x9cbiasedxe2x80x9d value which sets forth the error in the plant as opposed to the model. This error is then utilized to bias the optimization network. However, to date this technique has required the use of steady-state models which are generally off-line models. The reason for this is that the actual values must xe2x80x9csettle outxe2x80x9d to reach a steady-state value before the actual bias can be determined. During operation of a plant, the outputs are dynamic.
The present invention disclosed herein comprises a method for modifying the values of select ones of a plurality of inputs to a plant. The plurality of inputs is received and then only N select ones of the received inputs are processed. These N select inputs are mapped in a first step of mapping through a first relationship. This first relationship defines P intermediate inputs numbering less than N, with the first relationship defining the relationship between the N select received inputs and the P intermediate inputs as a set of P intermediate values. These P intermediate values are then processed through a modifying process which modifies the P intermediate values in accordance with a predetermined modification algorithm to provide P modified intermediate inputs with corresponding P modified intermediate values. A second step of mapping is then performed on the P modified intermediate inputs and associated P modified intermediate values through the inverse of the first relationship. This provides N modified select input values at the output of the second mapping step that correspond to the N select received input values.
In another aspect of the present invention, there is provided a post processing step on select ones of the N modified select input values. Each of the processed ones of the N modified select input values is processed with a predetermined process algorithm. Each of these process algorithms can be unique to the associated one of the N modified select input.